Zavreni formulare v CREATE nebo SHOW
Otázka od: delphak@centrum.cz
29. 4. 2004 8:19
Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade tohoto
vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
Dik
Odpovedá: Jaromir Cermak
29. 4. 2004 8:57
Zavirat formular v Creatu nema smysl, protoze jeste neni otevren. Proste nedam
Show a zavolam na nej Free. Napr. podle nejakeho priznaku. V show mi to neslo,
takze jsme to vyresili tak ze se jen aktivuje Timer, ktery okno po chvili
zavre.
Jaromir Cermak
-----Original Message-----
From: delphak@centrum.cz [mailto:delphak@centrum.cz]
Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade tohoto
vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
Dik
Odpovedá: Vaclav Krmela
29. 4. 2004 9:07
> From: Jaromir Cermak
>
> V show mi to neslo, takze jsme to vyresili
> tak ze se jen aktivuje Timer, ktery okno po chvili zavre.
Nebylo by jednodussi udelat:
PostQuitMessage(0);
Probliknuti hlavniho oka aplikace to ale nezabrani.
To by se dalo potlacit pouze v OnCreate:
Application.ShowMainForm := false;
PostQuitMessage(0);
Vaclav Krmela
Odpovedá: Petr Daricek
29. 4. 2004 9:50
> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
> Dik
Ahoj,
mnohem lepsi mi sice prijde testovat, prava, nez se zahaji samotna akce
otevirani formulare. Ale skryt formular lze takhle.
TFomr2=class(TForm)
.....
procedure Mess(var Mes:TWMShowWindow);message WM_SHOWWINDOW;
end;
.....
procedure TForm2.Mess(var Mes: TWMShowWindow);
begin
PostMessage(handle,WM_CLOSE,0,0);
end;
Odpovedá: Ludek
29. 4. 2004 9:42
Jedine tak, ze si posles zpravu pres PostMessage (ne pres SendMessage!) nekam
jinam, nez do toho formulare a a zavres to z venku jako rekaci na tu zpravu.
> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani tohoto
formulare. Muzete me nakopnout kterak na to?
> Dik
Odpovedá: Marek Dostal
29. 4. 2004 9:48
> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
tohoto vysledku potrebuji v metode
>OnCreate nebo OnSHow zrusit otvirani tohoto formulare. Muzete me nakopnout
kterak na to?
Nemuzu to presne najit, ale jen schematicky mi fungovalo:
procedure TForm1.FormActivate;
begin
if NemaPrava then
begin
Close;
exit;
end;
end;
Odpovedá: Tomas Rosa
29. 4. 2004 9:50
>Jedine tak, ze si posles zpravu pres PostMessage (ne pres SendMessage!) nekam
>jinam, nez do toho formulare a a zavres to z venku jako rekaci na tu zpravu.
>
?!?!? Proc z venku?
Staci uplne normalne dat v metodach OnCreate ci OnShow toto:
PostMessage(Handle,WM_CLOSE,0,0);
tedy pokud naaaahodou nepouzivas Application.ProcessMessages - to by
znamenalo ze se zprava WM_CLOSE muze zpracovat jeste pred dobehnutim
OnCreate. Jinak to je samozrejmne vpohode, protoze zpravy se nezpracuji nez
dobehne OnCreate + OnShow a pak se okno zavre.
> > Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
> tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit otvirani
> tohoto formulare. Muzete me nakopnout kterak na to?
> > Dik
S pozdravem
Tomas Rosa
------------------------=[ pinknet on every screen]=-----------------------
Tomas Rosa
Tomas.Rosa@PinkNet.cz http://www.pnws.org
+420 602 860 704
PinkNet Web Server for Win32 - FREEWARE www.pnws.org
---------------------------------------------------------------------------
Odpovedá: jsdelphi@creatix.cz
29. 4. 2004 10:56
> Dobry den, pri otevirani formulare testuji prava uzivatele a na zaklade
> tohoto vysledku potrebuji v metode OnCreate nebo OnSHow zrusit
> otvirani
> tohoto formulare. Muzete me nakopnout kterak na to?
Ja bych test provadel jeste pred vytvorenim formulare:
TListForm = class(TForm)
...
public
class procedure ShowList;
end;
...
class procedure TListForm.ShowList;
begin
if myTestPrava then
with Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
Jan Skopovy
Odpovedá: aldik@quick.cz
29. 4. 2004 11:08
to je prasecina, standardne se to dela vlastni uzivatelskou message a vlastni
udalosti..."amater" Vones to tu ukazoval uz milionkrat
Aldik
> Zavirat formular v Creatu nema smysl, protoze jeste neni otevren.
> Proste nedam Show a zavolam na nej Free. Napr. podle nejakeho
> priznaku. V show mi to neslo, takze jsme to vyresili tak ze se jen
> aktivuje Timer, ktery okno po chvili zavre.
>
Odpovedá: Petr Fejfar
29. 4. 2004 11:17
aldik@quick.cz wrote:
> to je prasecina, standardne se to dela vlastni uzivatelskou message a
> vlastni udalosti..."amater" Vones to tu ukazoval uz milionkrat
Jak psal uz TR: standardne na to snad je message WM_CLOSE, ne?
pf
Odpovedá: Stasko Peter
29. 4. 2004 12:05
Hlavne, ze ty si spadol z neba uceny
to je prasecina, standardne se to dela vlastni uzivatelskou message a vlastni
udalosti..."amater" Vones to tu ukazoval uz milionkrat
Aldik
> Zavirat formular v Creatu nema smysl, protoze jeste neni otevren.
> Proste nedam Show a zavolam na nej Free. Napr. podle nejakeho
> priznaku. V show mi to neslo, takze jsme to vyresili tak ze se jen
> aktivuje Timer, ktery okno po chvili zavre.
>
Odpovedá: Petr Fejfar
29. 4. 2004 12:31
Stasko Peter wrote:
> Hlavne, ze ty si spadol z neba uceny
Nikdo nespadl uceny z nebe, ale upozorneni na to,
ze reseni je suboptimalni, je prece soucasti procesu uceni
a nemelo by byt chapano jako osobni utok.
pf
Odpovedá: Stasko Peter
29. 4. 2004 13:37
Tak sa zamysli nad tym co si napisal.. to nieje utok, ale proces ucenia.. mozno
sa tym naucis, ze aj iny zacinaju...
Proces ucenia
Stasko Peter wrote:
> Hlavne, ze ty si spadol z neba uceny
Nikdo nespadl uceny z nebe, ale upozorneni na to,
ze reseni je suboptimalni, je prece soucasti procesu uceni
a nemelo by byt chapano jako osobni utok.
pf
Odpovedá: aldik@quick.cz
29. 4. 2004 15:48
Aldik:
Souhlasim...jen upresnim jde to i zevnitr
Ludek:
> Jedine tak, ze si posles zpravu pres PostMessage (ne pres
> SendMessage!) nekam
> jinam, nez do toho formulare a a zavres to z venku jako rekaci na
> tu zpravu.